package com.you.simple.demo.api.service;

import com.you.api.common.util.ApiOperation;
import com.you.simple.demo.api.entity.RequestVo;
import com.you.simple.demo.api.entity.ResponseVo;
import com.you.simple.demo.api.entity.UserInfo;

/**
 * @Description 用户服务接口
 * @Author yough
 * @Version V1.0.0
 * @Since 1.0
 * @Date 2021/1/7
 */
public interface IUserService {

    /**
     * 根据用户ID查询用户信息
     *
     * @param userId   用户ID
     * @param userInfo 用户信息
     * @param age      用户年龄
     * @return
     */
    @ApiOperation(value = "根据用户ID查询用户信息", desc = "根据用户ID查询用户信息的接口服务")
    public UserInfo findUserInfoByUserId(String userId, UserInfo userInfo, int age);

    /**
     * 模糊匹配查询用户信息
     *
     * @param userInfo
     * @return
     */
    @ApiOperation(value = "查询用户信息", desc = "模糊匹配查询用户信息")
    public UserInfo findUserInfo(UserInfo userInfo);

    /**
     * 修改用户信息
     *
     * @param userId   用户ID
     * @param userInfo 用户信息
     * @return
     */
    @ApiOperation(value = "修改用户信息", desc = "根据用户ID修改用户信息", resultParamName = "isSuccess", resultDesc = "是否修改成功：0-成功，1" +
            "-失败.")
    public boolean updateUserInfo(String userId, UserInfo userInfo);

    /**
     * 请求用户信息--测试
     *
     * @param requestVo
     * @return
     */
    @ApiOperation(value = "请求用户信息", desc = "请求用户信息--测试", resultDesc = "返回请求结果")
    public ResponseVo requestUser(RequestVo requestVo);
}
